package com.xlong.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONObject;
import com.xlong.BeanEntity.ResponseMsg;

import cn.dev33.satoken.stp.StpUtil;
import lombok.extern.slf4j.Slf4j;

@Service
@Slf4j
public class SaTokenService {
	
	public String AuthLogin(String jsonstr) {
		JSONObject json = null;
		JSONObject resjson = new JSONObject();
		ResponseMsg<JSONObject> resmsg = new ResponseMsg<JSONObject>();
		try {
			json = JSONObject.parseObject(jsonstr);
			String usercode = json.getString("usercode");
			String password = json.getString("password");
			StpUtil.login(usercode);
			resjson.put("satoken", StpUtil.getTokenValue());
			resjson.put("satoken-info", StpUtil.getTokenInfo());
			List<String> list = StpUtil.getPermissionList();
			resjson.put("permissions", list);
			resmsg.setCode(0);
			resmsg.setMsg("登录成功");
			resmsg.setData(resjson);
		}catch(Exception e) {
			log.error(e.toString());
			resmsg.setCode(10);
			resmsg.setMsg(e.getMessage());
			resmsg.setData(resjson);
		}
		
		return JSONObject.toJSONString(resmsg);
	}
	
	public String TestActive() {
		JSONObject resjson = new JSONObject();
		ResponseMsg<JSONObject> resmsg = new ResponseMsg<JSONObject>();
		try {			
			resjson.put("satoken", StpUtil.getTokenValue());
			resjson.put("satoken-info", StpUtil.getTokenInfo());
			resmsg.setCode(0);
			resmsg.setMsg("激活中");
			resmsg.setData(resjson);
		}catch(Exception e) {
			log.error(e.toString());
			resmsg.setCode(10);
			resmsg.setMsg(e.getMessage());
			resmsg.setData(resjson);
		}
		
		return JSONObject.toJSONString(resmsg);
	}
}
